package br.uvv.Service;

import java.io.Serializable;

import br.uvv.Dao.ClientePortalDAO;
import br.uvv.Dao.UsuarioDAO;
import br.uvv.Enums.SituClientePortal;
import br.uvv.Enums.SituUsuario;
import br.uvv.Model.ClientePortal;
import br.uvv.Model.Usuario;
import br.uvv.Util.DAOException;
import br.uvv.Util.RNException;

public class ConfirmacaoEmailService implements Serializable {

	private static final long serialVersionUID = -1888212559238477097L;
	
	public void confirmarToken(String token) throws RNException {
		UsuarioDAO daoUser = new UsuarioDAO();
		try {
			Usuario usuarioInstance = daoUser.selecionarPorToken(token);
			if (usuarioInstance!=null){
				usuarioInstance.setSituacao(SituUsuario.PendenteAprovacao);
				daoUser.salvar(usuarioInstance);
				ClientePortalDAO daoClientePortal = new ClientePortalDAO();
				ClientePortal clientePortalInstance = daoClientePortal.selecionarPorUsuarioResponsavel(usuarioInstance.getId());
				if (clientePortalInstance != null){
					clientePortalInstance.setSituacao(SituClientePortal.PendenteAprovacao);
					daoClientePortal.salvar(clientePortalInstance);
				}
			} else {
				throw new RNException("Token Not Find!");
			}
		} catch (DAOException e) {
			throw new RNException(e);
		}
	}

}
